export function debounce(func, delay = 100) {
  let timer = null;
  return function(...args) {
    // 如果上一次有计时操作，取消计时器并开启新的计时器，否则直接开启计时器
    if (timer) clearTimeout(timer);

    timer = setTimeout(() => {
      //这里的操作只被执行了很少的次数
      func.apply(this, args)
    }, delay)
  }
}